Skip to content

Bring in Win Classic Samples Browser#13

Draft
tajbender wants to merge 32 commits intodahall:nullableenabledfrom
tajbender:april-egg-hunt-1
Draft

Bring in Win Classic Samples Browser#13
tajbender wants to merge 32 commits intodahall:nullableenabledfrom
tajbender:april-egg-hunt-1

Conversation

@tajbender
Copy link
Copy Markdown

@tajbender tajbender commented Apr 11, 2026

📦 #13 — Bring in Win Classic Samples Browser

Overview

This PR introduces a modern WinUI 3 application shell to the WinClassicSamplesCS repository.
It lays the architectural foundation for a future Vanara Samples Browser, API Explorer, and additional tooling around the Vanara ecosystem.

The goal of this PR is not to finalize UI/UX, but to establish a clean, modular, nullable‑enabled WinUI 3 project structure that can evolve into a full-featured explorer for samples, APIs, and wrappers.


✨ Highlights

1. New WinUI 3 Application (App SDK 1.6)

  • Clean project structure
  • Nullable enabled
  • Modern Fluent‑aligned UI
  • Prepared for MVVM (Toolkit optional)
  • Ready for future modules (API Explorer, Project Builder, etc.)

2. New Application Shell

  • Navigation-ready layout
  • Placeholder pages (Home, Settings, Samples)
  • Centralized styles & resources
  • Mica/Acrylic‑compatible theming
  • Fully isolated from legacy WinForms samples

3. Foundation for the Samples Browser

This PR introduces the first building blocks for a future Samples Browser, including:

  • Page structure
  • Navigation model
  • Resource dictionaries
  • Initial layout for sample categories

4. Clean Project Organization

  • Views/
  • ViewModels/
  • Services/
  • Models/
  • Styles/
  • Activation/
  • Behaviors/

This structure mirrors modern WinUI 3 best practices and keeps future growth manageable.


📸 Screenshots

(Screenshots will be added once the UI stabilizes — placeholders for now.)

[ Start Page ]
[ Navigation Shell ]
[ Samples Placeholder ]

🔧 Technical Notes

  • WinAppSDK 1.6
  • Nullable enabled
  • No external dependencies required
  • Compatible with existing Vanara packages
  • Designed to integrate with upcoming Reflection/NuGet tooling
  • Fully isolated from WinForms runtime

📐 Motivation

Vanara has grown into a large and powerful API surface.
A modern, discoverable UI is the next logical step:

  • Browsing APIs
  • Exploring samples
  • Mapping unit tests to APIs
  • Understanding wrappers
  • Visualizing namespaces and types
  • Generating code or templates in the future

This PR provides the foundation for that ecosystem.


🧭 Scope

This PR includes:

  • New WinUI 3 project
  • Basic navigation shell
  • Initial pages
  • Styles & resources
  • Project structure
  • Nullable cleanup
  • Integration points for future modules

This PR does not include:

  • Final UI design
  • Reflection engine
  • NuGet version loader
  • API Explorer
  • Sample mapping
  • Project Builder

These will follow in separate PRs.


📌 Next Steps

  • Integrate NuGet version loader
  • Add Reflection-based API Explorer
  • Add Samples Browser
  • Add Project Builder (PowerShell + GUI)
  • Add unit test → API mapping
  • Add wrapper visualization

✔ Ready for Review

This PR is stable, builds cleanly, and introduces no breaking changes to existing samples.
It is safe to merge and provides a solid foundation for the next development steps.

Add `AppStyles.xaml`
Overhaul `FileExplorerPage`
Add `IShellItemModel`, `IShellFolderModel`, `ShellItemModel`
Add Service Contracts
Add `SettingsPage`, `WebViewPage`
Overhaul namespaces
Pull and merge current version
Overhaul WinUi 3 folder structure.
Create `README.md`
Add Build script `build.yml`. Update `README.md`
@tajbender tajbender marked this pull request as draft April 11, 2026 18:10
@tajbender

This comment was marked as outdated.

@tajbender tajbender changed the title Recreate Base Gui Bring in Win Classic Samples Browser Apr 13, 2026
@tajbender tajbender marked this pull request as ready for review April 13, 2026 18:54
@tajbender

This comment was marked as outdated.

Copy link
Copy Markdown
Author

@tajbender tajbender left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dahall The reenabled CodeGen

@tajbender tajbender marked this pull request as draft April 27, 2026 11:07
@tajbender
Copy link
Copy Markdown
Author

@tajbender
Copy link
Copy Markdown
Author

tajbender commented May 5, 2026

@tajbender

This comment was marked as outdated.

@tajbender
Copy link
Copy Markdown
Author

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant